package expression;

import AST.List;
import Tools.Env;
import Tools.Mem;

/**
 * Permet de savoir si une expression est une liste
 * @author asus Aurelien
 *
 */
public class PAIR implements IExpression {
	/**
	 * l'expression a tester
	 */
	private IExpression list;
	
	/**
	 * 
	 * @param expr l'expression
	 */
	public PAIR(IExpression expr){
		this.list = expr;
	}
	
	@Override
	public Object eval(Env e, Mem m) {
		Object o = list.eval(e, m);
		
		// si l'eval est de type liste
		if(o instanceof List)
			return 1;
		
		// sinon faux
		return 0;
	}

	public IExpression getList() {
		return list;
	}

	public void setList(IExpression list) {
		this.list = list;
	}

}
